﻿using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
using Loans.Web.App_Start;

namespace Loans.Web
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }

        //protected void Application_AuthenticateRequest(object sender, EventArgs e)
        //{
        //    if (HttpContext.Current.User != null)
        //    {
        //        if (HttpContext.Current.User.Identity.IsAuthenticated)
        //        {
        //            if (HttpContext.Current.User.Identity is FormsIdentity)
        //            {
        //                FormsIdentity id =
        //                    (FormsIdentity)HttpContext.Current.User.Identity;
        //                FormsAuthenticationTicket ticket = id.Ticket;

        //                // Get the stored user-data, in this case, our roles
        //                string userData = ticket.UserData;
        //                string[] roles = userData.Split(',');
        //                HttpContext.Current.User = new GenericPrincipal(id, roles);
        //            }
        //        }
        //    }
        //}

        //renev cookie 
        //public void RenewCurrentUser()
        //{
        //    System.Web.HttpCookie authCookie =
        //        System.Web.HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
        //    if (authCookie != null)
        //    {
        //        FormsAuthenticationTicket authTicket = null;
        //        authTicket = FormsAuthentication.Decrypt(authCookie.Value);

        //        if (authTicket != null && !authTicket.Expired)
        //        {
        //            FormsAuthenticationTicket newAuthTicket = authTicket;

        //            if (FormsAuthentication.SlidingExpiration)
        //            {
        //                newAuthTicket = FormsAuthentication.RenewTicketIfOld(authTicket);
        //            }
        //            string userData = newAuthTicket.UserData;
        //            string[] roles = userData.Split(',');

        //            System.Web.HttpContext.Current.User =
        //                new System.Security.Principal.GenericPrincipal(new FormsIdentity(newAuthTicket), roles);
        //        }
        //    }
        //}
    }
}